// import {createStore} from 'redux'
import {createStore,applyMiddleware} from 'redux'
import reducer from './reducers';
import reduxLogger from 'redux-logger'
import {thunk} from 'redux-thunk'
import reduxPromise from 'redux-promise'
//没有的话，默认的值
/* let initial = {
    supNum:10,
    oppNum:5
} */
/* //管理员：修改容器中的公共状态
const reducer = (state = initial,action)=>{
    //state:存储store容器中的公共状态，[最开始没有的时候，赋值初始状态值initial]
    //action:每一次基于dispath派发的时候，传递进来的行为对象[要求必须具备tpye属性，存储派发的行为标识]
    //为了接下来的操作中，我们操作store，不会直接修改容器中的状态[要等到最后return的时候]，我们需要先克隆
    state = {...state}
    //接下来我要基于派发的行为标识，修改store容器中的公共状态信息
    switch(action.type){
        case 'VOTE_SUP':
            state.supNum++;
            break;
        case 'VOTE_OPP':
            state.oppNum++;
            break;
        default:
    }
    //return的内容，会整体替换store容器中的状态信息
    return state
} */

//创建Store公共容器
const store = createStore(reducer,applyMiddleware(reduxLogger,thunk,reduxPromise));

export default store